home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
nmfwd207.zip
/
NMFWD.DOC
< prev
next >
Wrap
Text File
|
1997-03-24
|
24KB
|
595 lines
**************************************************************
* *
* *
* ** ** ** ** ******* ** ** ***** *
* *** ** *** *** ** * ** ** ** ** *
* **** ** ******* ** * ** ** ** ** *
* ** **** ******* **** ** * ** ** ** *
* ** *** ** * ** ** * ******* ** ** *
* ** ** ** ** ** *** *** ** ** *
* ** ** ** ** **** * * ***** *
* *
* *
* Version 2.07 *
* *
* A powerful Multi-Robot for Maximus/Squish *
* *
* *
**************************************************************
* *
* (C) Copyright 1991-1997 Alberto Pasquale *
* *
* A L L R I G H T S R E S E R V E D *
* *
**************************************************************
"Maximus" and "Squish" are trademarks of Lanius Corporation
NmFwd 2.07 User's Manual, by Alberto Pasquale
INTRODUCTION
-> For licensing information, please see License.Doc.
Thanks for evaluating NmFwd: a multi-robot for Maximus/Squish.
Main Features
- To be used with Squish mail processor and Maximus 3.xx CBCS
(Trademarks of Lanius Corporation).
A BinkleyTerm style outbound is required for some features.
- Works on *.MSG or SQUISH netmail area.
- Total or partial forward of NetMail area to (Co)SysOp's point.
- Selective Flag (Crash, Direct) Stripping.
- 3D and 4D point handling (even mixed).
- Boss Routing capability to BossRoute all the crash and direct
messages addressed to points that are not found in your V7
nodelist or have a null phone number.
- Point Remapping based on To-Name.
- FileAttach forwarding between points in a dedicated directory,
with optional automatic file-killing after configured time.
- Automatic Upload for Points via NetMail Robot.
- Complete User Management functions via NetMail Robot (Max 3.xx).
- Complete File Management functions via NetMail Robot (Max 3.xx),
with flexible privilege and keys handling.
- Automatic (internal) filebase update.
- Areafix functions for Squish.Cfg.
- Return To Sender functions to stop messages addressed to
unlisted nodes and routed echomail (based on V7 nodelist).
- Support for the V7 .BSY semaphore, as per FastLst specs.
- Return Receipt generation for messages that have the RRQ
flag set or the "*RR*" string in their subject (standard
proposed by Alex Palmese of 2:335/317).
CREDITS
"BinkleyTerm" is a trademark of Bit Bucket Software Co.
This program uses the Squish "MsgAPI" code, Copyright 1991-1994
by Lanius Corporation. "Squish" and "Maximus" are trademarks of
Lanius Corporation.
OVERALL OPERATION
To speed up netmail scanning, NmFwd scans only new messages. To
accomplish this, it uses an advanced algorithm for *.MSG (the
necessary information is stored in the NMFWDDIR.DAT located in
the related directory) and the UID (Unique ID) for the Squish
base (stored in the <netmail>.NFD file).
In the case you change a message after it has been processed
(Squish base), it will not be rescanned. So, if you want it
processed, you must copy then change, not simply change the
message.
All the messages addressed to your points are directly packed
to *.?ut in the OUTBOUND.SQ by NmFwd. This is necessary to
allow correct operations of the Netmail Forwarding functions in
a mixed 3D-4D environment and for the BossRoute option.
FLAGS HANDLING
If the original message has one of the following flags
(FileRequest, UpdateRequest), the forwarded one will have a
two letter upper-case symbol on the first line (FR, UR).
If a Crash message comes from a point authorized to send DM
only, the Hold attribute is set in order to change the Crash
flavour to Direct (Squish handles the sum of Crash and Hold
as Direct). The forwarded copy will have a "cm" lower-case
symbol on the first line of the message.
If a Crash message comes from a system that is not authorized
to send neither Crash nor Direct mail, the crash flag will be
reset and a "cm" symbol will be inserted in forwarded copies.
If a Direct message (Crash and Hold flags set) comes from a
system that is not authorized, the crash and hold flags will
be reset and the "dm" symbol will be inserted in forwarded
copies.
INSTALLATION
1) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
contained in your LIBPATH and the PmHatch.Exe program in
your PATH. MSGAPI32.DLL can be found in the Squish 1.11
archive (SQSHP111.LZH).
(NT): Make sure you have the MSGAPINT.DLL in a directory
contained in your PATH. MSGAPINT.DLL can be found in the
Max 3.01 for Windows archive (MAX301N.ZIP).
(DOS): Make sure you have the DOS4GW.EXE Dos extender (from
Rational System Inc.) in your path.
The DOS4GW extender requires an XMS or DPMI memory driver
installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
QuarterDeck Office Systems Inc.).
2) Edit nmfwd.cfg following the comments in it.
3) Edit your batch file in order to call nmfwd BEFORE netmail
packing.
Example 1 (two pass):
Squish In Out
NmFwd
Squish Squash -sNrm
Example 2 (one pass):
Squish In Out Squash -o -sNrm
NmFwd
Squish Squash -sNrm
Note: - The -o switch prevents squish from packing netmail
before Nmfwd has a chance to process it.
- You may need additional calls to squish to process
echomail generated locally.
Example 3 (separate echo and netmail routing, SqPrv local
echomail processor and Nef tic processor used):
sqrem
squish in out squash -sECHO -o
nef
squnrem
squish in
sqprv
squish out squash -sECHO -o
nmfwd
squish squash -sNET
Command line switches
-c<cfgfile>
-l<logfile>
Example: NMFWD -cc:\max\nmfwd.cfg -lc:\log\nmfwd.log
ERRORLEVELS
0 - All OK.
1 - Help requested
3 - Abnormal Termination.
4 - Cfg Error.
9 - Error accessing Maximus PRM file.
10 - Error updating/accessing FileBase.
11 - Nodelist Busy.
128 - Too many new messages (*.MSG).
The current limit (providing there is enough free memory)
is of 32768 messages numbered between 1 and 65535.
251 - Config file not found.
252 - Error on command line.
253 - MsgApi error.
254 - Can't open Log file.
255 - Out of memory.
CONFIGURATION FILE
NmFwd requires a configuration file (defaults to
NmFwd.Cfg). Before using NmFwd you should edit this file,
following the comments in the sample one.
The names of the various parameters are NOT case sensitive.
Items in square brackets ([]) are optional.
USER MANAGEMENT COMMANDS
You must send a private net-mail message to your robot, using
the requested password as subject (see the .cfg for details).
The Syntax of commands (to be put in the text) is:
Username[,Username,Username ...] = Action[,Action, Action ...]
You can list a maximum of 30 Usernames and 30 Actions per
command. You can use "(<acs>)" as a valid Username
(where <acs> is a Maximus 3.xx access string).
Examples:
(Extra|Normal/EFP) = list
Requests a list of users that have at least the "Extra"
privilege or the "Normal" one together with the E,F,P
keys.
(=twit) = Level disgrace
Gives the disgrace privilege to all twit
users.
(0/h) = Level favored
Gives the favored privilege to all users that have the
h key (except for those that have a privilege above
MAXLEV).
(=disgrace/kj) = Level normal
Gives the normal privilege to all disgrace users that
have both the k and j keys.
All the listed actions will be applied in the listed order
to all of the listed users. You can write many commands in
the same message, provided they are separated by a <CR>.
Every command may be more than 80 chars but it cannot contain
carriage returns.
In the case you are unsure whether your message editor really
inserts carriage returns between long command lines, just
leave a blank line between any two commands.
Examples:
Albert MacGiver = Level Normal
Franz Cormack, Robert Harris = Level Extra, Keys net
The available actions are:
(The MaxLev option in .cfg allows to inhibit the action on
higher privileges)
Level <level> - set the <level> privilege.
<level> can be any level name
defined in Maximus Access.Ctl or
a legal level number.
E.g.
Level Normal
Level 55
Report - give full report on user record
"Permanent" records are marked with a '@'
before the user name.
"Deleted" records are marked with a '#'
before the user name.
List - list username with his privilege and
keys
Kill - Mark the user record as deleted
Avatar - Set Avatar screen mode
Ansi - Set ANSI screen mode
TTY - Set TTY screen mode
City <cityname> - set the user city
Password <password> - set the user password.
If Maximus is configured to use
encrypted passwords, the new
password will be encrypted the
next time maximus accesses the
user record.
Phone <userphone> - set the user telephone
Alias <useralias> - set the user alias
Help <helplevel> - set the user help level
(Expert|Regular|Novice)
CLS <yes|no> - set the "Clear Screen allowed" flag
UsedMax <yes|no> - set the "Not first-time user" flag
IbmChars <yes|no> - set the IBM graphics flag
RIP <yes|no> - set the RIP graphics flag
MaxEd <yes|no> - set the MaxEd full screen editor flag
More <yes|no> - set the More flag
InUserList <yes|no> - set the "Show in UserList" flag
Tabs <yes|no> - set the "Tabs allowed" flag
Nerd <yes|no> - set the Nerd flag (don't sound when
yelling)
ChatAvail <yes|no> - set the "Available for Chat" flag
HotKeys <yes|no> - set the "Uses HotKeys" flag
FSReading <yes|no> - set the "Full Screen Reading" flag
Perm <yes|no> - set the "User is PERManent" flag
Language <langname> - select the language
Nulls <nnulls> - select the number of nulls
Up <[+|-]upK>
Down <[+|-]downK> - set the total up/download in KiloBytes,
optional +|- to add|subtract to|from
the total.
UpFiles <[+|-]n>
DownFiles <[+|-]n> - set the total number of files
up/downloaded, optional +|- to
add|subtract to|from the total.
Credit <[+|-]n>
Debit <[+|-]n> - set the user credit/debit (n in 0..65535),
optional +|- to add|subtract
to|from the total debit.
CreditPoints <[+|-]n>
DebitPoints <[+|-]n> - set the user allocated/used points,
optional +|- to add|subtract
to|from the total.
Keys [+]<setkeys>[-<resetkeys>] - set/reset the listed keys;
e.g. Keys abc set keys a, b, c
Keys -abc reset keys a, b, c
Keys abc-de set keys a, b, c;
reset keys d, e.
Keys +abc-de set keys a, b, c;
reset keys d, e.
ExpDate <expdate> - set the Expiration date (dd-mm-yy),
set the "Expire by date" flag and reset
the "Expire by minutes" flag. If no
<expdate> is given, reset the "Expire
by date" flag. Example:
ExpDate 13-May-92
ExpDate 13-May-1992
ExpDate 13-05-1992
ExpDate 13-05-92 (Expire on May 13th 92)
ExpMins <expmins> - set the Expiration minutes, set the
"Expire by minutes" flag and reset the
"Expire by date" flag.
If no <expmins> is given, reset the
"Expire by mins" flag.
ExpNone - Reset Expire mode flags (ExpAxe and
ExpDemote)
ExpDemote <Priv> - set the Expire->Demote flag and Priv
level to demote to.
ExpAxe - set the Expire->Axe flag
Append - append a new user record: a default one
will be appended. Obviously this must be
the first command and can be followed by
other commands specifying new parameters
for the user. The default is:
Privilege: 0
Help: Novice
Screen mode: TTY
Language: The first.
Columns: 80
Rows: 24
UsedMax: No
MaxEd: Yes
More: No
HotKeys: No
IbmChars: No
RIP: No
Tabs: No
CLS: No
FSReading: No
All other fields are zeroed.
FILE MANAGEMENT
See FMAN.HLP and NMFWD.CFG for details on the FileManagement
Commands.
OS/2 NOTE:
The Touch command and all the FileManager functions use
the Maximus 3.xx convention for the file dates on HPFS.
The modification date is shown in reports (just as with
the OS/2 DIR command), the creation one is used as the
"upload date" to compute the "age" of files.
Thus the output of a "newfiles 10" command could show
files with dates much older than 10 days, provided they
have been uploaded (or touched) during the last 10
days.
AREAFIX
Integrated AREAFIX: works on SQUISH configuration file (No
Areas.bbs). Works OK with 3D (fakenet) or 4D points.
To link/unlink areas: Send a netmail message to AreaFix using
your password as the subject. You can add "-Q", "-L",
"-R" and "-H" in the subject field, after the password.
-Q: to request a list of available areas.
-L: to request a sysop-defined message (usually a description
of some or all areas).
-R: to request the rescan of the specified areas (SqPrv
areas are automatically excluded from rescan).
-H: to get help.
The same goals can be achieved by using some special
commands in the message body: %Query, %List, %Rescan,
%Help respectively.
In the body of the message, you must list the TAGS of the
areas you want to link or rescan (optionally with a leading
'+'). If you want to unlink an area, preceed the area name
with a '-' (e.g. -CHATTER). More than one area tag can be
specified on the same line.
The password and area tags are not case-sensitive.
See Nmfwd.Cfg for more details.
RETURN TO SENDER
Integrated ReturnToSender based on V7 Nodelist, such as the
one generated by FastLst. RTS checks the originating and
destination addresses of all new netmail messages.
If the originating address is not found, then a short warning
for the addressee is inserted in the message text.
If the destination address is not found, then the message is
stopped (marked as sent) and a short message is sent to the
sender.
If both the addresses are not found, then the message is
stopped and a short message is sent to the SysOp.
Note: for points of other systems, the Boss address
(.0) is checked; for points of the local Boss, the
entire 4D address is checked, so you need to have your
points in the V7 nodelist (usually this is not a
problem since the points must already be in a local
nodelist in order to have a session password).
Warning: RTS does not check the existence of a point
when applying the "name remapping" configured with the
"Remap" statement in NmFwd.Cfg or Squish.Cfg.
An optional check on Routed Echomail is available: if an
echomail message not addressed to your node is found in the
netmail area, than it is stopped (marked as sent) and the
sysop of the originating node is alerted.
RETURN RECEIPT REQUEST
You can enable the generation of Return Receipts for netmail
messages addressed to your system or your points that come in
with the Return-Receipt-Request flag set or with the "*RR*"
(case sensitive) string in their subject.
When RRQ is active in the configuration file, if a netmail
message requests a return receipt, a short receipt is sent to
the sender, the RRQ flag is stripped from the original
message, the "*RR*" string is deleted from the subject if
present, an informative line is added at the head of the
message body to inform the addressee that a return receipt
was sent.
If the sender is unlisted and "RTS" is active, than no action
is taken on messages with RRQ.
The "*RR*" string in the subject is an easy way to ask for
Return-Receipt when the RRQ flag cannot easily be set by the
message editor or is stripped by some mail processor.
MISCELLANEOUS INFO
When UseFB is active, the NewFiles, Dir * and Cont * commands
of the file-manager use the file-base files instead of looking
into FILES.BBS and directories.
On fast machines, after generating lots of outbound packets,
NmFwd will automatically pause for a few seconds reporting
"Waiting <nn> seconds". This is necessary to avoid routing
mistaked when Squish is invoked just after NmFwd. The same
thing happens before Nmfwd invokes Squish for rescanning an
area in response to a areafix rescan request.
NmFwd recognizes SqPrv areas (SqPrv is another program
of mine) and does NOT allow rescanning.
S H A R E W A R E
If you like this program and continue using it, you should pay
the author for his work, as per the ShareWare concept of
distribution.
Please see LICENSE.DOC and REGISTER.DOC for information.
Thank you for your interest in ApWorks programs.